import sys
import time      # Зависисмоти для работы проекты
import pyautogui # Библиотека автоматизации действий клавиатуры установка.. в пакетнике pip install pyautogui
import datetime

#localtime = datetime.datetime.now()



global pause
global task_i
global axe_i
global load
global task

load = 0
pause = 0.6
#----------------------------------------Методы работы--------------------------------------------------------------

class Test():
    def cheak_cord():
        time.sleep(5)
        print(pyautogui.position())
    
    # Point(x=1174, y=579) - корды для поломнного топора



class Player():

    def Cheak_task():         # Функция ввода старта программы дефолт значение 128, есть возможность изменить цикл вводя меньшие значение взависимости от ивентаря 64-128, другие значения не желательны
        global task_i 
        try:
            task_i = sys.argv[1]
            task_i = int(task_i)
            print('''Отработал по вводу данных''')    
        except: 
            task_i = 128
            task_i = int(task_i)
            print('''Отработал по дефолту''')

    def Cheak_axe():           # Фукнция проверки прочности идет читка файла axe.txt, если прочность равна = 0 произашла замена инструмента
        global axe_i
        with open("axe.txt") as file:
            axe_i = file.read()
            axe_i = int(axe_i)
            #print('''Прочность топора составляет''')
            if axe_i == 0:
                file_1 = open("axe.txt", "w")
                file_1.write(str(1560))
                file_1.close()
                axe_i = 1560
                #print(f'''Прочность топора составляет {axe_i}''')
            else:
                pass

    def AntiAfk():
        pyautogui.move(10, 0, duration=0.5)  # Анти-Афк подьем на 10 пикселей влево
        time.sleep(1)
        pyautogui.move(-10, 0, duration=0.5) # Анти-Афк опускание пиксилей на 10 пикс вниз
    
    def Change_Axe(): #its FUNC VERY WORK!!!
        time.sleep(2)
        pyautogui.move(-550, 0, duration=1.5) 
        pyautogui.press('l')
        time.sleep(1)

        #-----------КнопкаСортировки--------------------------------
        pyautogui.moveTo(791, 215, 1)
        time.sleep(1)#сорт
        pyautogui.click()#сорт
        #------------------------------------------------------------

        #------------Перетаскивание Сломанного Топора в Сундук----------
        pyautogui.moveTo(494, 605, 1) # 1 слот инвентаря в сундуке
        pyautogui.click() # клик

        pyautogui.moveTo(782, 424, 1) #  слот для сломанного топора в сундуке
        pyautogui.click()#сорт
        #--------------------------------------------------------------------------



        pyautogui.moveTo(497, 243, 1)
        pyautogui.click()
        pyautogui.moveTo(494, 605, 1)
        pyautogui.click()

        # file_1 = open("axe.txt", "w")
        # file_1.write(str(1560))
        # file_1.close()
        # #print(f"Я взял новый топор - {localtime}")

        pyautogui.press('Esc')
        time.sleep(1)
        pyautogui.move(550, 0, duration=1.5)
  

    def ExchangeSell():
        global task

        time.sleep(2)
        pyautogui.move(0, 115, duration=1) # Поворот к бирже и  ее открытие
        pyautogui.press('l')

        time.sleep(1)
        pyautogui.moveTo(496, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(741, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(531, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(567, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(603, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(641, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(674, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(711, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(748, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(781, 495, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

    #------------------------------------------------------
        time.sleep(1)
        pyautogui.moveTo(494, 534, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(534, 534, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)    
        pyautogui.moveTo(566, 532, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(601, 532, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(641, 532, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(677, 532, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(711, 532, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        

        time.sleep(1)
        pyautogui.moveTo(748, 532, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
    

        time.sleep(1)
        pyautogui.moveTo(784, 532, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()


        time.sleep(1)
        pyautogui.moveTo(496, 568, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(532, 568, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(565, 568, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(607, 568, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()

        time.sleep(1)
        pyautogui.moveTo(639, 568, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(674, 568, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(711, 571, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(742, 588, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        
        time.sleep(1)
        pyautogui.moveTo(786, 568, duration=1)
        pyautogui.click()
        pyautogui.click(button='right')
        time.sleep(1)
        pyautogui.moveTo(518, 350, duration=1)
        pyautogui.click()
        pyautogui.moveTo(740, 431, duration=1)
        pyautogui.click()
        time.sleep(1)


        
        # pyautogui.moveTo(747, 854, duration=1)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        # pyautogui.moveTo(800, 854, duration=1)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        # pyautogui.moveTo(853, 854, duration=1)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        # pyautogui.moveTo(897, 854, duration=1)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        # pyautogui.moveTo(961, 854, duration=1)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        # pyautogui.moveTo(1012, 854, duration=1)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        # pyautogui.moveTo(1068, 854, duration=1)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        # pyautogui.moveTo(1123, 854, duration=1)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        # pyautogui.moveTo(1175, 854)
        # pyautogui.click()
        # pyautogui.click(button='right')
        # pyautogui.moveTo(518, 350, duration=1)
        # pyautogui.click()
        # pyautogui.moveTo(740, 431, duration=1)
        # pyautogui.click()
        # time.sleep(1)

        pyautogui.press('Esc')
        time.sleep(1)
        pyautogui.move(0, -115, duration=1)
        #print(f"Продажа Таски на Бирже {task}. Текущие время {localtime}")
        
    
    def Load_Inventory():

        time.sleep(2) # Пауза
        pyautogui.move(550, 0, duration=1) # Поворот на нижний сборщик
        pyautogui.press('l') # Действие
        time.sleep(1)
        pyautogui.moveTo(792, 507, 1) # Нажатие на кнопку получение вещей
        time.sleep(1)
        pyautogui.click()
        time.sleep(1)
        pyautogui.press('Esc')
        time.sleep(1)

        pyautogui.move(0, 150, duration=1) # поднятие до второго сборщика
        pyautogui.press('l')
        time.sleep(1)
        pyautogui.moveTo(792, 507, 1)
        time.sleep(1)
        pyautogui.click()
        time.sleep(1)
        pyautogui.press('Esc')
        time.sleep(1)

        pyautogui.move(0, -150, duration=1)
        time.sleep(1)
        pyautogui.move(-550, 0, duration=1)
        
        #print(f"Загрузка Костянной муки + {localtime}")

        # #--------------Закупка Кокосов---------------------------
        # time.sleep(2)
        # pyautogui.press('M')
        # time.sleep(0.5)
        # pyautogui.move(0, 115, duration=1)
        # pyautogui.press('l')

        # time.sleep(0.5)
        # pyautogui.moveTo(741, 917, 1) #1 слот в инвентаре бирже
        # pyautogui.click()
        # time.sleep(0.5)
        # pyautogui.moveTo(518, 350, 1) # 1 слот окна покупки/продажа биржы
        # pyautogui.click()
        # pyautogui.moveTo(809, 589, 1) #Кнопка покупки!
        # pyautogui.click()
        # time.sleep(0.5)
        # pyautogui.click()
        # time.sleep(0.5)
        # pyautogui.click()
        # time.sleep(0.5)
        # pyautogui.click()

        # pyautogui.moveTo(518, 350, 1) # 1 слот окна покупки/продажа биржы
        # pyautogui.click()

        # pyautogui.moveTo(741, 917, 1) #1 слот в инвентаре бирже
        # pyautogui.click()

        # pyautogui.press('Esc')
        # time.sleep(0.5)
        # pyautogui.press('M')
        # time.sleep(0.5)
        # pyautogui.move(0, -115, duration=1)

        #print(f"Загрузка кокосов на бирже  + {localtime}")
        
        # load = load + 1

        # if load == 3:
        #     print("Я вызываю замену топора")
        #     axe_change = Players.Change_Axe()
        #     load = 0
        # else:
        #     pass



        
        


    def Start():
        time.sleep(6)
        score = 0
        load = 0

        while(True):
            if score != 252:

                no_afk = Player.AntiAfk()

                pyautogui.press('2') #Выбираем кокос
                time.sleep(pause)
                pyautogui.press('l') #ставим кокос в блок
                time.sleep(pause)
                pyautogui.press('3') #выбираем муку
                pyautogui.press('l') #выращиваем кокос
                pyautogui.press('1') #берем топор
                pyautogui.mouseDown()  # Нажать и удерживать левую кнопку мыши
                time.sleep(pause)
                pyautogui.mouseUp()    # Отпустить левую кнопку мыши
                score = score + 1
                #------------------------------------------------------------------ 
                pyautogui.press('4') #Выбираем кокос
                time.sleep(pause)
                pyautogui.press('l') #ставим кокос в блок
                time.sleep(pause)
                pyautogui.press('5') #выбираем муку
                pyautogui.press('l') #выращиваем кокос
                pyautogui.press('1') #берем топор
                pyautogui.mouseDown()  # Нажать и удерживать левую кнопку мыши
                time.sleep(pause)
                pyautogui.mouseUp()    # Отпустить левую кнопку мыши
                score = score + 1
                #------------------------------------------------------------------ 
                pyautogui.press('6') #Выбираем кокос
                time.sleep(pause)
                pyautogui.press('l') #ставим кокос в блок
                time.sleep(pause)
                pyautogui.press('7') #выбираем муку
                pyautogui.press('l') #выращиваем кокос
                pyautogui.press('1') #берем топор
                pyautogui.mouseDown()  # Нажать и удерживать левую кнопку мыши
                time.sleep(pause)
                pyautogui.mouseUp()    # Отпустить левую кнопку мыши
                score = score + 1
                    #-------------------------------------------------------------------
                pyautogui.press('8') #Выбираем кокос
                time.sleep(pause)
                pyautogui.press('l') #ставим кокос в блок
                time.sleep(pause)
                pyautogui.press('9') #выбираем муку
                pyautogui.press('l') #выращиваем кокос
                pyautogui.press('1') #берем топор
                pyautogui.mouseDown()  # Нажать и удерживать левую кнопку мыши
                time.sleep(pause)
                pyautogui.mouseUp()    # Отпустить левую кнопку мыши
                score = score + 1
            else:
                Player.ExchangeSell()
                print("Я продал ресы")
                time.sleep(1)
                Player.Load_Inventory()
                load = load + 1
                time.sleep(1)
                score = 0

                if load == 3:
                    Player.Change_Axe()
                else:
                    pass




            

        
        




#----------------------------------------Проверка функций------------#
Player.Start()
#time.sleep(4)
#Player.ExchangeSell()
#Test.cheak_cord()
#Player.Change_Axe()
#Player.Load_Inventory()

